DataSource for Entity Framework for WPF/Silverlight
LiveAggregate<TSource,TAccumulate,TResult>(View<TSource>,TAccumulate,Expression<Func<TAccumulate,TSource,TAccumulate>>,Expression<Func<TAccumulate,TSource,TAccumulate>>,Expression<Func<TAccumulate,TSource,Boolean>>,Expression<Func<TAccumulate,TResult>>) メソッド

C1.LiveLinq 名前空間 > LiveViewExtensions クラス > LiveAggregate メソッド : LiveAggregate<TSource,TAccumulate,TResult>(View<TSource>,TAccumulate,Expression<Func<TAccumulate,TSource,TAccumulate>>,Expression<Func<TAccumulate,TSource,TAccumulate>>,Expression<Func<TAccumulate,TSource,Boolean>>,Expression<Func<TAccumulate,TResult>>) メソッド
source内の要素の型。
アキュムレータ値の型。
結果値の型。
集計対象のビュー。
最初のアキュムレータ値。
ソースビューに追加される各要素に対して呼び出されるアキュムレータ関数。
要素がソースビューから削除されるときに、変更された累積値を取得するために 累積値と要素に適用される関数。
要素がソースビューから削除されるときに funcRemoveを適用するかどうかを決定するために使用される関数。 適用しない場合、累積値は削除の影響を受けません。
最終的なアキュムレータ値を結果値に変換する関数。
ビューに対してアキュムレータ関数を適用します。指定されたシード値は最初のアキュムレータ値として使用され、指定された関数は結果値の選択に使用されます。
シンタックス
'宣言
 
<System.Runtime.CompilerServices.ExtensionAttribute()>
Public Overloads Shared Function LiveAggregate
    (Of TSource,TAccumulate,TResult)( _
   ByVal source As View(Of TSource), _
   ByVal seed As TAccumulate, _
   ByVal funcAdd As System.Linq.Expressions.Expression(Of Func(Of TAccumulate,TSource,TAccumulate)), _
   ByVal funcRemove As System.Linq.Expressions.Expression(Of Func(Of TAccumulate,TSource,TAccumulate)), _
   ByVal funcRemoveDefined As System.Linq.Expressions.Expression(Of Func(Of TAccumulate,TSource,Boolean)), _
   ByVal resultSelector As System.Linq.Expressions.Expression(Of Func(Of TAccumulate,TResult)) _
) As AggregationView(Of TSource,TResult)
[System.Runtime.CompilerServices.Extension()]
public static AggregationView<TSource,TResult> LiveAggregate<TSource,TAccumulate,TResult>( 
   View<TSource> source,
   TAccumulate seed,
   System.Linq.Expressions.Expression<Func<TAccumulate,TSource,TAccumulate>> funcAdd,
   System.Linq.Expressions.Expression<Func<TAccumulate,TSource,TAccumulate>> funcRemove,
   System.Linq.Expressions.Expression<Func<TAccumulate,TSource,bool>> funcRemoveDefined,
   System.Linq.Expressions.Expression<Func<TAccumulate,TResult>> resultSelector
)

パラメータ

source
集計対象のビュー。
seed
最初のアキュムレータ値。
funcAdd
ソースビューに追加される各要素に対して呼び出されるアキュムレータ関数。
funcRemove
要素がソースビューから削除されるときに、変更された累積値を取得するために 累積値と要素に適用される関数。
funcRemoveDefined
要素がソースビューから削除されるときに funcRemoveを適用するかどうかを決定するために使用される関数。 適用しない場合、累積値は削除の影響を受けません。
resultSelector
最終的なアキュムレータ値を結果値に変換する関数。

型パラメータ

TSource
source内の要素の型。
TAccumulate
アキュムレータ値の型。
TResult
結果値の型。

戻り値の型

最終的なアキュムレータ値を表すビュー。
解説
LiveAggregateの代わりに標準の LINQ クエリー演算子 Aggregateを使用することもできます。 どちらも、ソースで変更が発生すると自動的に再計算が行われるという意味で「ライブ」です。 相違点は、 Aggregateが毎回ソースコレクション全体をループ処理して集計を一から行うのに対して、 LiveAggregateはより高パフォーマンスのアルゴリズムを使用し、値をインクリメンタルに維持して、 実際に変更されたソース項目だけを処理します。
参照

LiveViewExtensions クラス
LiveViewExtensions メンバ
オーバーロード一覧